Model Checking of Software Components: Making Java PathFinder Cooperate with Behavior Protocol Checker
نویسندگان
چکیده
Although there exist several software model checkers that check the code against properties specified e.g. via a temporal logic and assertions, or just verifying low-level properties (like unhandled exceptions), none of them supports checking of software components against a high-level behavior specification. We present our approach to model checking of software components implemented in Java against a high-level specification of their behavior defined via behavior protocols [1], which employs the Java PathFinder model checker and the protocol checker. The property checked by the Java PathFinder (JPF) tool (correctness of particular method call sequences) is validated via its cooperation with the protocol checker. We show that just the publisher/listener pattern claimed to be the key flexibility support of JPF (even though proved very useful for our purpose) was not enough to achieve this kind of checking.
منابع مشابه
Formal Verification of Components in Java
Title: Formal Verification of Components in Java Author: Pavel Paŕızek email: [email protected] phone: +420 2 2191 4235 Department: Department of Software Engineering Faculty of Mathematics and Physics Charles University in Prague, Czech Republic Advisor: Prof. Frantǐsek Plášil email: [email protected] phone: +420 2 2191 4266 Mailing address (both Author and Advisor): Dept. of SW E...
متن کاملAddressing State Explosion in Discovery of Concurrency Errors in Component Java Code
Current approaches to the development of reliable software systems include decomposition into components, attaching formal behavior specification to the components, and verification of component behavior via model checking. The main obstacle preventing model checking real-life software components is state explosion, which occurs especially for highly parallel components. In addition, since a ty...
متن کاملCarmen: Software Component Model Checker
The challenge of model checking of isolated software components becomes more and more relevant with the boom of componentoriented technologies [20]. An important issue here is how to verify an open model representing an isolated software component (also referred as the missing environment problem in [17]). In this paper, we propose on-the-fly simulation of the component environment to address t...
متن کاملVyrdMC: Driving Runtime Refinement Checking with Model Checkers
This paper presents VyrdMC, a runtime verification tool we are building for concurrent software components. The correctness criterion checked by VyrdMC is refinement: Each execution of the implementation must be consistent with an atomic execution of the specification. VyrdMC combines testing, model checking, and Vyrd, the runtime refinement checker we developed earlier. A test harness first dr...
متن کاملMMC: the Mono Model Checker
The Mono Model Checker (mmc) is a software model checker for cil bytecode programs. mmc has been developed on the Mono platform. mmc is able to detect deadlocks and assertion violations in cil programs. The design of mmc is inspired by the Java PathFinder (jpf), a model checker for Java programs. The performance of mmc is comparable to jpf. This paper introduces mmc and presents its main archit...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006